package com.wpr.shop.utils;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;

/**
 * describe:
 *
 * @author zhanglisheng
 * @date 2018/10/25
 */
public class GzipUtils {
    /**
     * 获取字符串压缩后的字节
     * @param str
     * @return
     * @throws IOException
     */
    public static byte[] toGzipBytes(String str) throws IOException {
        if (null == str || str.length() <= 0) {
            return null;
        }

        // 创建一个新的 byte 数组输出流
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        // 使用默认缓冲区大小创建新的输出流
        GZIPOutputStream gzip = new GZIPOutputStream(out);
        // 将 b.length 个字节写入此输出流
        gzip.write(str.getBytes());
        gzip.close();
        // 使用指定的 charsetName，通过解码字节将缓冲区内容转换为字符串
        return out.toByteArray();
    }

}